public class DeviceTest {
    public static void main(String[] args) {
        // 1. 创建设备对象（多态：接口引用指向实现类对象）
        Device printer = new Printer("惠普HP");       // Printer同时实现3个接口
        Device smartBoard = new SmartBoard("希沃SV01"); // SmartBoard实现2个接口

        // 2. 多态调用：通过Device接口调用通用方法
        System.out.println("=== 设备开机测试 ===");
        printer.powerOn();       // 实际调用Printer的powerOn()
        smartBoard.powerOn();    // 实际调用SmartBoard的powerOn()

        // 3. 设备管理：统一处理连接（体现接口回调）
        DeviceManager manager = new DeviceManager();
        manager.addDevice(printer);
        manager.addDevice(smartBoard);

        manager.connectAllNetworkDevices();  // 仅网络设备会响应（Printer和SmartBoard）
        manager.connectAllUsbDevices();      // 仅USB设备会响应（仅Printer）

        // 4. 多态调用：通过Device接口调用关机方法
        System.out.println("\n=== 设备关机测试 ===");
        printer.powerOff();
        smartBoard.powerOff();
    }
}